#求n个数的积
def ji(n):
    if  n==1:
        return 1
    elif n == 2:
        return 2
    else:
        return n*ji(n-1)
n = int(input("请输入数："))

print(ji(n))
#求最大公约数和最小公倍数
def gg(x,y):
    if x>y:
        z=x%y
        if z ==0:
            return y
        else:
            x=y
            y=z
            return gg(x,y)
    else:
        z=y%x
        if z==0:
            return x
        else:
            y=x
            x=z
            return gg(x,y)
def  dd(x,y):
    g =(x*y)/gg(x,y)
    return g
x =int(input('请输入数字:'))
y =int(input('请输入数字:'))
print("{}是最大公约数，{}是最小公倍数".format(gg(x,y),dd(x,y)))


#求1,1,2,4,7的和
def fib(n):
    if n==1 or n==2:
        return 1
    elif n==3:
        return 2
    else:return fib(n-3)+fib(n-2)+fib(n-1)

n =int(input('请输入正整数:'))
print(fib(n))






